Landing Page

Interface and Architecture

Criteria Meet Specification

Architecture

The project should have a structure like the one shown below. All files shown must be present and the app must successfully render a home page with clear design and functionality added when index.html is loaded in the browser. No errors should display in console.

css
- styles.css    
index.html
js
- app.js
README.md

Usability

All features are usable across modern desktop, tablet, and phone browsers.

Styling

Styling has been added for active states.

HTML Structure

There are at least 4 sections that have been added to the page.

Landing Page Behavior

Criteria Meet Specification

Navigation

Navigation is built dynamically as an unordered list.

Section Active State

It should be clear which section is being viewed while scrolling through the page.

Scroll to Anchor

When clicking an item from the navigation menu, the link should scroll to the appropriate section.

Documentation

Criteria Meet Specification

README

The ReadMe file should have non-default text in it that is specific to this project. It doesn’t have to be thorough, but should have some basic information, and use correct markdown.

Comments

Comments are present and effectively explain longer code procedure when necessary.

Code Quality

Code is formatted with consistent, logical, and easy-to-read formatting as described in the Udacity JavaScript Style Guide.

Untitled

Criteria Meet Specification

Tips to make your project standout:

See the "Suggested" items section in Development Strategy in the classroom.

  • Add an active state to your navigation items when a section is in the viewport.
  • Hide fixed navigation bar while not scrolling (it should still be present on page load).
    • Hint: setTimeout can be used to check when the user is no longer scrolling.
  • Add a scroll to top button on the page that’s only visible when the user scrolls below the fold of the page.
  • Update/change the design/content.
  • Make sections collapsible.